home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / pcboard / ssspcb20.zip / LNRPCB20.ZIP / LINERS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-04-27  |  8KB  |  482 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER003
  20.     Integer  INTEGER004
  21.     Integer  INTEGER005
  22.     Integer  INTEGER006
  23.     Integer  INTEGER007
  24.     Integer  INTEGER008
  25.     String   STRING004
  26.     String   STRING005
  27.     String   STRING006
  28.     String   STRING007
  29.     String   STRING008
  30.     String   STRING009
  31.     String   STRING010
  32.     String   STRING011
  33.     String   STRING012
  34.     String   STRING013
  35.     String   STRING014
  36.     String   STRING015
  37.     String   STRING016
  38.     String   STRING017
  39.     String   STRING018
  40.     String   STRING019
  41.     String   STRING020
  42.     String   STRING021
  43.     String   STRING022
  44.     String   STRING023
  45.     String   STRING024
  46.     String   STRING025
  47.     String   TSTRING026(250)
  48.     Declare  Procedure PROC001()
  49.     Declare  Procedure PROC002(Var String STRING001, Var String STRING002, Var String STRING003)
  50.     Declare  Procedure PROC003()
  51.  
  52. ;------------------------------------------------------------------------------
  53.  
  54.     Goto LABEL001
  55.     End
  56.  
  57. ;------------------------------------------------------------------------------
  58.  
  59.     Procedure PROC001()
  60.  
  61.     Integer  INTEGER001
  62.     Integer  INTEGER002
  63.     Byte     BYTE001
  64.  
  65.     INTEGER001 = GetDrive()
  66.     INTEGER002 = Os()
  67.     FOpen 1, PPEPath() + "LINERS.TXT", 0, 2
  68.     BYTE001 = FTell(1)
  69.     FClose 1
  70.  
  71.     EndProc
  72.  
  73.  
  74. ;------------------------------------------------------------------------------
  75.  
  76.     Procedure PROC002(Var String STRING001, Var String STRING002, Var String STRING003)
  77.  
  78.     STRING001 = "NO"
  79.     STRING002 = "UNREGISTERED"
  80.     STRING003 = "UNREGISTERED"
  81.  
  82.     EndProc
  83.  
  84.  
  85. ;------------------------------------------------------------------------------
  86.  
  87.     Procedure PROC003()
  88.  
  89.     Color 0
  90.     Cls
  91.     AnsiPos 25, 10
  92.     Print "@X0FSHAREWARE EVALUATION VERSION"
  93.     AnsiPos 20, 12
  94.     Print "@X0ECopyright 1995,96 (c) Shuttle Software"
  95.     AnsiPos 30, 14
  96.     Print "@X0EAll Rights Reserved"
  97.     Delay 55
  98.  
  99.     EndProc
  100.  
  101.     :LABEL001
  102.     INTEGER003 = 0
  103.     INTEGER004 = 0
  104.     INTEGER006 = 0
  105.     INTEGER005 = 16
  106.     INTEGER007 = 0
  107.     INTEGER008 = 10
  108.     STRING004 = "@X0A"
  109.     STRING005 = "@X0F"
  110.     STRING007 = ""
  111.     STRING010 = ""
  112.     STRING009 = "N"
  113.     STRING011 = "N"
  114.     STRING012 = "Y"
  115.     STRING014 = ""
  116.     STRING015 = ""
  117.     STRING016 = ""
  118.     STRING017 = ""
  119.     STRING018 = ""
  120.     STRING019 = ""
  121.     STRING020 = "YES"
  122.     STRING013 = "YES"
  123.     STRING008 = "NO"
  124.     STRING006 = "NO"
  125.     STRING023 = ""
  126.     STRING024 = ""
  127.     STRING025 = ""
  128.     PROC001()
  129.     STRING022 = PPEPath() + "ANSI.CFG"
  130.     If (Exist(STRING022)) Then
  131.         FOpen 1, STRING022, 0, 2
  132.         FGet 1, STRING013
  133.         FClose 1
  134.     Endif
  135.     If (STRING013 <> "NO") Then
  136.         If (AnsiOn()) Then
  137.             PROC002(STRING023, STRING025, STRING024)
  138.             Log "-=≡[ Liners Entered ]≡=-", 0
  139.         Else
  140.             PrintLn "This program requires that your ANSI support is enabled!"
  141.             Wait
  142.             End
  143.         Endif
  144.     Else
  145.         PROC002(STRING023, STRING025, STRING024)
  146.         Log "-=≡[ Liners Entered ]≡=-", 0
  147.     Endif
  148.     STRING021 = PPEPath() + "LINERS.CFG"
  149.     If (Exist(STRING021)) Then
  150.         FOpen 1, STRING021, 0, 2
  151.         FGet 1, INTEGER005
  152.         FGet 1, STRING020
  153.         FGet 1, STRING006
  154.         FClose 1
  155.     Endif
  156.     If (INTEGER005 > 100) INTEGER005 = 100
  157.     If (Upper(STRING006) <> "YES") Then
  158.         Gosub LABEL005
  159.         PrintLn "@X00"
  160.         Print "@X0EWould you like to add a Liner [@X0FY@X0E/@X0FN@X0E]"
  161.         InputText " ", STRING011, 15, 1
  162.         If (Upper(STRING011) == "Y") Then
  163.             Gosub LABEL010
  164.             Gosub LABEL011
  165.         Endif
  166.     Else
  167.         PrintLn "@X00"
  168.         PrintLn "@X0EWould you like to view the Liners [@X0FY@X0E/@X0FN@X0E]"
  169.         STRING009 = TInkey(73)
  170.         If (Upper(STRING009) == "Y") Then
  171.             Gosub LABEL005
  172.             PrintLn "@X00"
  173.             Print "@X0EWould you like to add a Liner [@X0FY@X0E/@X0FN@X0E]"
  174.             InputText " ", STRING011, 15, 1
  175.             If (Upper(STRING011) == "Y") Then
  176.                 Gosub LABEL010
  177.                 Gosub LABEL011
  178.             Endif
  179.         Else
  180.             PrintLn "@X00"
  181.             PrintLn "@X0CGuess not..."
  182.             Delay 27
  183.         Endif
  184.     Endif
  185.     PROC003()
  186.     End
  187.     :LABEL002
  188.     STRING007 = "NO"
  189.     STRING016 = PPEPath() + "FILTER.TXT"
  190.     If (Exist(STRING016)) Then
  191.         FOpen 1, STRING016, 0, 2
  192.         :LABEL003
  193.         If (Ferr(1)) Goto LABEL004
  194.         FGet 1, STRING010
  195.         INTEGER004 = InStr(Upper(STRING018), Upper(STRING010))
  196.         If (INTEGER004 > 0) Then
  197.             STRING007 = "YES"
  198.             Goto LABEL004
  199.         Endif
  200.         Goto LABEL003
  201.         :LABEL004
  202.         FClose 1
  203.     Endif
  204.     Return
  205.     :LABEL005
  206.     INTEGER006 = 0
  207.     INTEGER007 = 1
  208.     STRING018 = ""
  209.     STRING008 = "NO"
  210.     STRING015 = PPEPath() + "LINERS.TXT"
  211.     If (Exist(STRING015)) Then
  212.         If (Upper(STRING020) <> "NO") Then
  213.             FOpen 1, STRING015, 0, 2
  214.             FGet 1, STRING018
  215.             :LABEL006
  216.             If (Ferr(1)) Goto LABEL007
  217.             INTEGER006 = INTEGER006 + 1
  218.             TSTRING026(INTEGER006) = STRING018
  219.             If (INTEGER006 == INTEGER005) Goto LABEL007
  220.             FGet 1, STRING018
  221.             Goto LABEL006
  222.             :LABEL007
  223.             FClose 1
  224.         Else
  225.             FOpen 1, STRING015, 0, 2
  226.             FGet 1, STRING018
  227.             :LABEL008
  228.             If (Ferr(1)) Goto LABEL009
  229.             INTEGER006 = INTEGER006 + 1
  230.             TSTRING026(INTEGER006) = STRING018
  231.             If (INTEGER006 > 249) Goto LABEL009
  232.             FGet 1, STRING018
  233.             Goto LABEL008
  234.             :LABEL009
  235.             FClose 1
  236.         Endif
  237.     Else
  238.         PrintLn "@X00"
  239.         PrintLn "@X0CATTENTION SYSOP: The file LINERS.TXT is missing!"
  240.         PrintLn "@X00"
  241.         Wait
  242.         End
  243.     Endif
  244.     While (STRING008 <> "YES") Do
  245.         Color 0
  246.         Cls
  247.         PrintLn "@X0B▐@X1B ┌─────────────────────────────────────────────────────────────────────────@X10┐@X1B @X08▌@X0B"
  248.         PrintLn "@X0B▐@X1B │@X1E        LINERS v2.0        @X1FRegistered To@X17:                                @X10│@X1B @X08▌@X0B"
  249.         PrintLn "@X0B▐@X1B └@X10─────────────────────────────────────────────────────────────────────────┘@X1B @X08▌@X0B"
  250.         AnsiPos 47, 2
  251.         Print "@X1F", STRING024
  252.         AnsiPos 1, 4
  253.         PrintLn "@X00"
  254.         Color 10
  255.         If (Upper(STRING020) <> "NO") Then
  256.             For INTEGER003 = 1 To 16
  257.                 If (INTEGER007 <= INTEGER006) Then
  258.                     PrintLn TSTRING026(INTEGER007)
  259.                     INTEGER007 = INTEGER007 + 1
  260.                     Continue
  261.                 Endif
  262.                 STRING008 = "YES"
  263.                 Break
  264.             Next
  265.         Else
  266.             For INTEGER003 = 1 To 15
  267.                 If (INTEGER007 <= INTEGER006) Then
  268.                     PrintLn TSTRING026(INTEGER007)
  269.                     INTEGER007 = INTEGER007 + 1
  270.                     Continue
  271.                 Endif
  272.                 STRING008 = "YES"
  273.                 Break
  274.             Next
  275.         Endif
  276.         If (INTEGER007 >= INTEGER006) STRING008 = "YES"
  277.         If (STRING008 <> "YES") Then
  278.             PrintLn 
  279.             Wait
  280.         Endif
  281.     EndWhile
  282.     Return
  283.     :LABEL010
  284.     Color 0
  285.     Cls
  286.     AnsiPos 1, 10
  287.     PrintLn "@X0E          Pick the @X0F# @X0Eof the Color you would like your Liner to be..."
  288.     PrintLn "@X00"
  289.     PrintLn "@X01          ██  @X02██  @X03██  @X04██  @X05██  @X06██  @X07██  @X08██  @X09██  @X0A██  @X0B██  @X0C██  @X0D██  @X0E██  @X0F██"
  290.     PrintLn "@X0F           1   2   3   4   5   6   7   8   9  10  11  12  13  14  15"
  291.     PrintLn "@X00"
  292.     Print "@X0E          Enter the [@X0F#@X0E]"
  293.     InputInt " ", INTEGER008, 15
  294.     Select Case (INTEGER008)
  295.         Case 1
  296.             STRING004 = "@X01"
  297.         Case 2
  298.             STRING004 = "@X02"
  299.         Case 3
  300.             STRING004 = "@X03"
  301.         Case 4
  302.             STRING004 = "@X04"
  303.         Case 5
  304.             STRING004 = "@X05"
  305.         Case 6
  306.             STRING004 = "@X06"
  307.         Case 7
  308.             STRING004 = "@X07"
  309.         Case 8
  310.             STRING004 = "@X08"
  311.         Case 9
  312.             STRING004 = "@X09"
  313.         Case 10
  314.             STRING004 = "@X0A"
  315.         Case 11
  316.             STRING004 = "@X0B"
  317.         Case 12
  318.             STRING004 = "@X0C"
  319.         Case 13
  320.             STRING004 = "@X0D"
  321.         Case 14
  322.             STRING004 = "@X0E"
  323.         Case 15
  324.             STRING004 = "@X0F"
  325.     End Select
  326.     Return
  327.     :LABEL011
  328.     STRING017 = ""
  329.     STRING018 = ""
  330.     While (Upper(STRING014) <> "Y") Do
  331.         STRING014 = ""
  332.         Color 0
  333.         Cls
  334.         AnsiPos 1, 8
  335.         PrintLn "@X1B▌┌───────────────────────────────────────────────────────────────────────────@X10┐@X18▐@X1B"
  336.         PrintLn "@X1B▌│@X1E                               LINERS v2.0                                 @X10│@X18▐@X1B"
  337.         PrintLn "@X1B▌│@X1E                                                                           @X10│@X18▐@X1B"
  338.         PrintLn "@X1B▌│@X1A                      Please Enter Your Liner Below                        @X10│@X18▐@X1B"
  339.         PrintLn "@X1B▌│@X1E                                                                           @X10│@X18▐@X1B"
  340.         PrintLn "@X1B▌│@X1E                                                                           @X10│@X18▐@X1B"
  341.         PrintLn "@X1B▌└@X10───────────────────────────────────────────────────────────────────────────┘@X18▐@X07"
  342.         AnsiPos 3, 13
  343.         Print Space(75)
  344.         AnsiPos 3, 13
  345.         InputText " ", STRING018, 15, 70
  346.         If (STRING018 == "") Then
  347.             PROC003()
  348.             End
  349.         Endif
  350.         AnsiPos 1, 16
  351.         Print "@X0EIs the above Liner what you want to add [@X0FY@X0E]es, [@X0FN@X0E]o, [@X0FQ@X0E]uit"
  352.         InputText " ", STRING014, 15, 1
  353.         If (Upper(STRING014) == "Q") Then
  354.             PROC003()
  355.             End
  356.         Endif
  357.     EndWhile
  358.     If (Upper(STRING020) <> "NO") Then
  359.         TSTRING026(INTEGER006 + 1) = STRING004 + STRING018
  360.     Else
  361.         STRING017 = STRING004 + STRING018
  362.     Endif
  363.     Gosub LABEL002
  364.     If (STRING007 == "NO") Then
  365.         If (Upper(STRING020) <> "NO") Then
  366.             FCreate 1, STRING015, 1, 3
  367.             If (INTEGER006 < INTEGER005) Then
  368.                 For INTEGER003 = 1 To INTEGER006 + 1
  369.                     FPutLn 1, TSTRING026(INTEGER003)
  370.                 Next
  371.             Else
  372.                 For INTEGER003 = 2 To INTEGER006 + 1
  373.                     FPutLn 1, TSTRING026(INTEGER003)
  374.                 Next
  375.             Endif
  376.             FClose 1
  377.         Else
  378.             STRING019 = STRING005 + U_Name() + " said the following..."
  379.             FAppend 1, STRING015, 1, 3
  380.             FPutLn 1, STRING019
  381.             FPutLn 1, STRING017
  382.             FPutLn 1
  383.             FClose 1
  384.         Endif
  385.         AnsiPos 1, 18
  386.         PrintLn "@X0AYour Liner Was Added!"
  387.         Log "ADDED: " + STRING018, 0
  388.         PrintLn "@X00"
  389.         Print "@X0EView the Liners again [@X0FY@X0E/@X0FN@X0E]"
  390.         InputText " ", STRING012, 15, 1
  391.         If (Upper(STRING012) == "Y") Then
  392.             Gosub LABEL005
  393.             PrintLn "@X00"
  394.             Wait
  395.         Endif
  396.     Else
  397.         Log "REJECTED: " + STRING018, 0
  398.         Log "FOUND: " + Upper(STRING010), 0
  399.         Color 0
  400.         Cls
  401.         AnsiPos 11, 11
  402.         PrintLn "@X0CYour liner contains unacceptable language!  Shame on you..."
  403.         PrintLn "@X00"
  404.         PrintLn "@X00"
  405.         PrintLn "@X00"
  406.         Wait
  407.     Endif
  408.     Return
  409.  
  410. ;------------------------------------------------------------------------------
  411. ;
  412. ; Usage report (before postprocessing)
  413. ;
  414. ; ■ Statements used :
  415. ;
  416. ;    6       End
  417. ;    5       Cls
  418. ;    5       Wait
  419. ;    6       Color 
  420. ;    89      Goto 
  421. ;    83      Let 
  422. ;    10      Print 
  423. ;    36      PrintLn 
  424. ;    51      If 
  425. ;    1       FCreate 
  426. ;    6       FOpen 
  427. ;    1       FAppend 
  428. ;    8       FClose 
  429. ;    9       FGet 
  430. ;    5       FPutLn 
  431. ;    5       Log 
  432. ;    1       InputInt 
  433. ;    8       Gosub 
  434. ;    4       Return
  435. ;    2       Delay 
  436. ;    5       InputText 
  437. ;    12      AnsiPos 
  438. ;    3       EndProc
  439. ;
  440. ;
  441. ; ■ Functions used :
  442. ;
  443. ;    25      +
  444. ;    23      ==
  445. ;    9       <>
  446. ;    5       <
  447. ;    6       <=
  448. ;    3       >
  449. ;    9       >=
  450. ;    47      !
  451. ;    8       &&
  452. ;    4       ||
  453. ;    14      Upper()
  454. ;    1       Space()
  455. ;    3       Ferr()
  456. ;    1       InStr()
  457. ;    1       U_Name()
  458. ;    5       PPEPath()
  459. ;    4       Exist()
  460. ;    1       AnsiOn()
  461. ;    1       TInkey()
  462. ;    1       GetDrive()
  463. ;    1       FTell()
  464. ;    1       Os()
  465. ;
  466. ;------------------------------------------------------------------------------
  467. ;
  468. ; Analysis flags : No flag
  469. ;
  470. ;------------------------------------------------------------------------------
  471. ;
  472. ; Postprocessing report
  473. ;
  474. ;    4       For/Next
  475. ;    2       While/EndWhile
  476. ;    23      If/Then or If/Then/Else
  477. ;    1       Select Case
  478. ;
  479. ;------------------------------------------------------------------------------
  480. ;                 AEGiS Corp - Break the routines, code against the machines!
  481. ;------------------------------------------------------------------------------
  482.